package com.example.abstract1;

// 抽象类
public abstract class A {
    private String name;
    private int age;

    public A() {
        System.out.println("A的无参构造器");
    }

    public A(String name, int age) {
        this.name = name;
        this.age = age;
    }

    /*
    抽象类的注意事项和使用细节
    1.抽象类中不一定要有抽象方法，有抽象方法的类必须是抽象类。
    2.类有的成员：成员变量、方法、构造器，抽象类都可以有。
    3.抽象类最主要的特点：抽象类不能创建对象，仅作为一种特殊的父类，让子类继承并实现。
    4.一个类继承抽象类，必须重写完抽象类的全部抽象方法，否则这个类也必须定义成抽象类
     */

    // 抽象方法：必须用abstract修饰，没有方法体，只有方法声明。
    public abstract void show();

    public void show1() {
        System.out.println("show1方法");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
